#ifndef SETTINGSPAGE_H
#define SETTINGSPAGE_H

#include <QWidget>
#include <QPushButton>

namespace Ui {
class SettingsPage;
}

/**
 * @brief 设置页面类，提供应用设置功能
 */
class SettingsPage : public QWidget
{
    Q_OBJECT

public:
    /**
     * @brief 构造函数，初始化设置页面
     * @param parent 父窗口指针
     */
    explicit SettingsPage(QWidget *parent = nullptr);

    /**
     * @brief 析构函数，释放资源
     */
    ~SettingsPage();

signals:
    /**
     * @brief 返回上一级页面信号
     */
    void back();

    /**
     * @brief 跳转个人资料页面信号
     */
    void toPersonalProfile();

    /**
     * @brief 退出登录信号
     */
    void logout();

private slots:
    /**
     * @brief 个人资料按钮点击事件处理
     */
    void onProfileClicked();

    /**
     * @brief 退出登录按钮点击事件处理
     */
    void onLogoutClicked();

    /**
     * @brief 返回按钮点击事件处理
     */
    void onBackClicked();

private:
    Ui::SettingsPage *ui;             ///< UI对象指针
    QPushButton *m_profileBtn;        ///< 个人资料按钮
    QPushButton *m_logoutBtn;         ///< 退出登录按钮
    QPushButton *m_backBtn;           ///< 返回按钮

    /**
     * @brief 初始化UI组件
     */
    void initUI();
};

#endif // SETTINGSPAGE_H
